package com.systop.asset.service;

import com.systop.asset.entity.Transfer;
import com.systop.asset.entity.vo.TransferVo;

import java.util.List;

/**
 * <p>InterfaceName : ITransferService</p>
 * <p>Description : </p>
 *
 * @author 孙伟光
 * @version 1.0
 * @date 2025/7/2 15:04
 */
public interface ITransferService {

    /**
     * 根据转移条件获取转移记录列表
     * @param transfer 转移查询条件对象
     * @return 转移记录VO列表，包含转移详细信息
     */
    public List<TransferVo> getTransferList(Transfer transfer);

    /**
     * 根据ID获取单条转移记录详情
     * @param id 转移记录ID
     * @return 转移记录VO对象，包含转移详细信息
     */
    public TransferVo getTransferById(Long id);

    /**
     * 新增转移记录
     * @param transferVo 转移记录实体
     * @return 调拨单id
     */
    public Long addTransferAndDetail(TransferVo transferVo);

    /**
     * 审批转移记录
     * @param transfer 包含审批状态的转移记录实体
     * @return 操作结果响应
     */
    public int approveTransfer(Transfer transfer);
}
